草庐IT

MySQL GROUP_CONCAT 和 DISTINCT

全部标签

hadoop - 带 ORDER BY 的 HIVE GROUP_CONCAT

我有一张table我期望这样的输出(将结果分组到一条记录中,group_concat应按值DESC对结果进行排序)。这是我试过的查询,SELECTid,CONCAT('{',CONCAT_WS(',',GROUP_CONCAT(CONCAT('"',key,'":"',value,'"'))),'}')ASvalueFROMtable_nameGROUPBYid我希望目标表中的值应该按源表值排序(降序)。为此,我尝试执行GROUP_CONCAT(...ORDERBYvalue)。看起来Hive不支持这个。有没有其他方法可以在配置单元中实现这一点? 最佳答案

hadoop - Pig 0.11.0 在应用 DISTINCT 之前不排序

我有一些包含一些包作为字段的记录,我正在尝试合并具有其他相同字段的记录的包(我正在丢弃一些字段)。数据看起来像这样:u08u08anid{(web)}00{(GB),(US)}anu08u08anid{(ars)}00{(GB),(RU)}anu09u09anid{(web)}00{(GB)}anu09u09anid{(web)}00{(US)}anu10u10anid{(web)}00{(GB)}anu10u10anid{(ars)}00{(GB)}anu11u11anid{(web)}00{(GB)}anu11u11anid{(web)}00{(GB)}an我想获得(在丢弃不相关的

sql - Apache Pig 中是否有等同于多个 COUNT(DISTINCT CASE WHEN ...) 语句的语句?

我是ApachePig的新手,正在尝试学习。ApachePig中是否有等效于SQL的COUNT(DISTINCTCASEWHEN...)?例如,我正在尝试做这样的事情:CREATETABLEemail_profileASSELECTuser_id,COUNT(DISTINCTCASEWHENemail_code='C'THENmessage_idELSENULLEND)ASclickthroughs,COUNT(DISTINCTCASEWHENemail_code='O'THENmessage_idELSENULLEND)ASopened_messages,COUNT(DISTINCT

mysql - sql group by 与 distinct

当查询中没有进行聚合时,为什么有人会使用groupby而不是distinct?此外,是否有人通过MySQL和SQLServer中的不同性能考虑来了解该组。我猜SQLServer有一个更好的优化器,它们可能与那里相当,但在MySQL中,我预计会有明显的性能优势。我对dba的答案很感兴趣。编辑:Bill的帖子很有趣,但不适用。让我更具体一点...selecta,b,cfromtablexgroupbya,b,c对selectdistincta,b,cfromtablex 最佳答案 GROUPBY将行组映射到一行,根据特定列中的不同值,这

mysql - sql group by 与 distinct

当查询中没有进行聚合时,为什么有人会使用groupby而不是distinct?此外,是否有人通过MySQL和SQLServer中的不同性能考虑来了解该组。我猜SQLServer有一个更好的优化器,它们可能与那里相当,但在MySQL中,我预计会有明显的性能优势。我对dba的答案很感兴趣。编辑:Bill的帖子很有趣,但不适用。让我更具体一点...selecta,b,cfromtablexgroupbya,b,c对selectdistincta,b,cfromtablex 最佳答案 GROUPBY将行组映射到一行,根据特定列中的不同值,这

mysql - 在 MySQL 中的子查询上使用 GROUP_CONCAT

我有一个MySQL查询,我想在其中包含另一个表中的ID列表。在网站上,人们可以添加某些项目,然后人们可以将这些项目添加到他们的收藏夹中。我基本上想获取收藏该项目的人的ID列表(这有点简化,但归根结底就是这样)。基本上,我会这样做:SELECT*,GROUP_CONCAT((SELECTuseridFROMfavouritesWHEREitemid=items.id)SEPARATOR',')ASidlistFROMitemsWHEREid=$someid这样,我可以通过稍后在我的代码中将idlist拆分为PHP中的数组来显示谁最喜欢某个项目,但是我收到以下MySQL错误:1242-Su

mysql - 在 MySQL 中的子查询上使用 GROUP_CONCAT

我有一个MySQL查询,我想在其中包含另一个表中的ID列表。在网站上,人们可以添加某些项目,然后人们可以将这些项目添加到他们的收藏夹中。我基本上想获取收藏该项目的人的ID列表(这有点简化,但归根结底就是这样)。基本上,我会这样做:SELECT*,GROUP_CONCAT((SELECTuseridFROMfavouritesWHEREitemid=items.id)SEPARATOR',')ASidlistFROMitemsWHEREid=$someid这样,我可以通过稍后在我的代码中将idlist拆分为PHP中的数组来显示谁最喜欢某个项目,但是我收到以下MySQL错误:1242-Su

php - 如何在 Codeigniter Active Records 中使用 'DISTINCT'?

我有一个使用事件记录的查询。$this->db->select('reg.users_id,reg.registration_id,reg.device_type');$this->db->join('usersasusr','usr.users_id=reg.users_id','left');$this->db->where('usr.users_status',1);$this->db->where('reg.users_id',91);$query=$this->db->get('users_gcm_registrationasreg');我想获取DISTINCT(regist

php - GROUP_CONCAT 拉出带分隔符的空结果

我昨天问了一个关于如何将多个结果提取到一个字段中的问题,得到的答案是GROUP_CONTACT()。我已将其放入我的代码中并且运行良好。我需要为两个字段执行此操作,因此我现在开始在同一个sql语句中使用它两次。不幸的是,它为第二个带逗号的字段返回了一个空列表,我不太清楚为什么。这是我的示例产品数据:pid||prod1||top2||sweater这是我的sample库存数据(有些库存没有两种尺寸,例如腰围和胸围):sid||size1||size2||pid1||M||||12||L||||13||XL||||14||L||||25||XL||||2这是我的代码:SELECTp.id

MySQL - 选择所有列,其中一列是 DISTINCT

如果这个问题看起来太简单了,我很抱歉。翻遍了整个互联网和StackOverflow,找了一个完整的解决方案,没有找到我能看懂的东西,自己也写不出来,只好在这里问了。我有一个MySQL数据库。它有一个名为“posted”的表。它有8列。我需要输出这个结果:SELECTDISTINCTlinkFROMpostedWHEREad='$key'ORDERBYday,month但我不仅需要“链接”列,还需要这一行的其他列。就像这个查询返回的每一行一样,我还需要知道它在表中的“id”、“day”和“month”值等。请告诉我我应该阅读什么来制作它,或者如何制作它。请尽量简单,因为我不是MySQL专